package com.weight.system.takecare.service.impl;

import com.weight.system.takecare.PO.TakecareInfo;
import com.weight.system.takecare.service.TakecareInfoService;
import com.weight.system.takecare.DAO.TakecareInfoMapper;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import org.springframework.transaction.annotation.Transactional;
import com.weight.common.util.CommonUtils;
import lombok.extern.slf4j.Slf4j;

/**
 * 设备保养记录表
 */
@Service
@Transactional
@Slf4j
public class TakecareInfoServiceImpl implements TakecareInfoService {

	@Autowired
	private TakecareInfoMapper takecareInfoMapper;


	/**
	 * 查询设备保养记录信息--条件查询
	 * @param map
	 * @return
	 */
	@Override
	public List<TakecareInfo> findTakecareInfoByT(Map map){
		return takecareInfoMapper.findTakecareInfoByT(map);
	}

	/**
	 * 查询设备保养记录信息--条件，分页查询
	 * @param currentPage
	 * @param pageSize
	 * @param map
	 * @return
	 */
	@Override
	public List<TakecareInfo> findTakecareInfoByPage(int currentPage,int pageSize,Map map){
		PageHelper.startPage(currentPage, pageSize);
		List<TakecareInfo> takecareInfoList = takecareInfoMapper.findTakecareInfoByT(map);
		return takecareInfoList;
	}

	/**
	 * 查询设备保养记录信息--查询全部
	 * @return
	 */
	@Override
	public List<TakecareInfo> findAll(){
		return takecareInfoMapper.findAll();
	}

	/**
	 * ID查询设备保养记录信息
	 * @param map
	 * @return
	 */
	@Override
	public TakecareInfo findByTakecareInfoId(Map map){
		TakecareInfo takecareInfo=takecareInfoMapper.findByTakecareInfoId(map);
		CommonUtils.validateExistObj(takecareInfo,map);
		return takecareInfo;
	}

	/**
	 * ID查询设备保养记录信息-批量
	 * @param takecareInfoIdList
	 * @return
	 */
	@Override
	public List findByTakecareInfoIdList(List takecareInfoIdList){
		List idList = takecareInfoMapper.findByTakecareInfoIdList(takecareInfoIdList);
		CommonUtils.validateExistList(idList,takecareInfoIdList);
		return idList;
	}

	/**
	 * 添加设备保养记录
	 * @param takecareInfo
	 */
	@Override
	public void insertTakecareInfo(TakecareInfo takecareInfo){
		takecareInfoMapper.insertTakecareInfo(takecareInfo);
	}

	/**
	 * 批量添加设备保养记录
	 * @param takecareInfoList
	 */
	@Override
	public void insertTakecareInfoBatch(List<TakecareInfo> takecareInfoList){
		takecareInfoMapper.insertTakecareInfoBatch(takecareInfoList);
	}

	/**
	 * 修改设备保养记录
	 * @param takecareInfo
	 */
	@Override
	public void updateTakecareInfo(TakecareInfo takecareInfo){
		takecareInfoMapper.updateTakecareInfo(takecareInfo);
	}

	/**
	 * 修改设备保养记录
	 * @param takecareInfo
	 */
	@Override
	public void updateTakecareInfoLimt(TakecareInfo takecareInfo){
		takecareInfoMapper.updateTakecareInfoLimt(takecareInfo);
	}

	/**
	 * 物理删除设备保养记录
	 * @param map
	 */
	@Override
	public void deleteByTakecareInfoId(Map map){
		takecareInfoMapper.deleteByTakecareInfoId(map);
	}

	/**
	 * 批量物理删除设备保养记录
	 * @param takecareInfoIdList
	 */
	@Override
	public void deleteByTakecareInfoIdBatch(List takecareInfoIdList){
		takecareInfoMapper.deleteByTakecareInfoIdBatch(takecareInfoIdList);
	}

	/**
	 * 状态删除设备保养记录
	 * @param map
	 */
	@Override
	public void upDelByTakecareInfoId(Map map){
		takecareInfoMapper.upDelByTakecareInfoId(map);
	}

	/**
	 * 批量状态删除设备保养记录
	 * @param takecareInfoList
	 */
	@Override
	public void upDelByTakecareInfoIdBatch(Map<String, Object> map){
		takecareInfoMapper.upDelByTakecareInfoIdBatch(map);
	}

}